package com.itlong.cloud.POJO.PO;

import com.itlong.cloud.annotation.ItlField;
import com.itlong.cloud.annotation.ItlTables;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * <desc>
 *      云群控器设备信息表
 * </desc>
 *
 * @createDate 2019/03/26
 */
@ItlTables("device_cloud_controller_info")
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper=true)
public class DeviceCloudControllerInfoPO extends BasePO implements Serializable {

    @ItlField(value = "device_unique",logicKey = "key",notNull = "false")
    private String deviceUnique;            //设备全局唯一序列号(项目编号[8位] + 设备类型[1位] + 设备ID[4位])

    @ItlField("device_id")
    private String deviceId;                //设备ID，即设备机号，与设备硬件拨码对应。

    @ItlField("device_name")
    private String deviceName;              //设备名称，一般由客户自定义。

    @ItlField("project_id")
    private String projectId;               //项目编号，由8位数字构成,00000001~99999999.

    @ItlField("sn")
    private String sn;                     //sn,按腾讯要求自定义(项目编号(8) + 预留域（5位，默认为“00000”） + 设备id(3))的16位字符串

    @ItlField("device_memo")
    private String deviceMemo;              //设备说明

    //阿里IoT设备相关参数
    @ItlField("product_type_id")
    private String productTypeId; //产品型号ID,云电梯产品型号ID
    @ItlField("iot_device_id")
    private String iotDeviceId;   //阿里云颁发的设备id，全局唯一
    @ItlField("iot_device_secret")
    private String iotDeviceSecret; //设备私钥
    @ItlField("iot_device_status")
    private String iotDeviceStatus; //设备状态，目前预留
    @ItlField("iot_device_work_status")
    private  String iotDeviceWorkStatus; //设备工作状态,ONLINE, OFFLINE, UNACTIVE
    @ItlField("token")
    private String token;           //云群控器请求凭证
    @ItlField("up_floor")
    private String upFloor;     //上行楼层
    @ItlField("down_floor")
    private String downFloor;       //下行楼层
    @ItlField("iot_product_id")
    private String iotProductId;       //设备产品关系表逻辑主键

    /************************************华为IoT设备相关参数*********************************************/
    /**华为云设备登录id*/
    @ItlField("huawei_iot_id")
    private String huaweiIotId;
    /**华为云设备登录secret*/
    @ItlField("huawei_iot_secret")
    private String huaweiIotSecret;
    /**华为iot设备唯一标识*/
    @ItlField("iot_node_id")
    private String iotNodeId;
    /**华为psk*/
    private String psk;



}
